package com.java.simple.smallmybatis.session;

/**
 * @author zhoujunlin
 * @date 2022年12月22日 14:45
 * @desc
 */
public interface SqlSession {

    /**
     * 根据指定的sql获取一条记录的封装对象
     *
     * @param statement
     * @param <T>
     * @return
     */
    <T> T selectOne(String statement);

    /**
     * 根据指定的sql获取一条记录的封装对象  可以给sql传递参数
     *
     * @param statement
     * @param parameter
     * @param <T>
     * @return
     */
    <T> T selectOne(String statement, Object parameter);

    /**
     * 获取一个映射器
     *
     * @param type
     * @param <T>
     * @return
     */
    <T> T getMapper(Class<T> type);

}
